﻿using System;
using System.Collections.Generic;
using System.Text;

namespace IConfig
{
    /// <summary>
    /// 读取配置信息的接口
    /// </summary>
    public interface IConfigReader
    {
        /// <summary>
        /// 根据区域名，设备名去读对应的配置文件，获取指定参数名称的值
        /// </summary>
        /// <param name="area">区域名</param>
        /// <param name="device">设备名</param>
        /// <param name="parameter">将要获取参数的名称</param>
        /// <returns>该参数的名称对应的值</returns>
        string this[string area, string device, string parameter] { get; }
        /// <summary>
        /// 根据区域名，设备名去读对应的配置文件，获取该设备的配置信息
        /// </summary>
        /// <param name="area">区域名</param>
        /// <param name="device">设备名</param>
        /// <returns>返回该设备的配置信息</returns>
        IConfigInfo this[string area, string device] { get; }
        /// <summary>
        /// 获得所有区域的设备列表
        /// </summary>
        /// <returns>返回所有设备的列表</returns>
        Dictionary<string, List<string>> GetAreaDeviceList();
    }
}
